from selenium import webdriver
import time
import sys
from you_get import common as you_get       #导入you-get库
# directory = r'D:\1'                         #设置下载目录
# url = 'https://www.bilibili.com/video/av27036095/'      #需要下载的视频地址
# sys.argv = ['you-get','-o',directory,url]       #sys传递参数执行下载，就像在命令行一样
# you_get.main()
search_name = input('您想要爬取的视频关键字是？\n(输入完毕请按回车)：')
driver = webdriver.Chrome(r'E:\chromedriver.exe') #选择火狐浏览器
pages = 2 #设定要爬取的页数
video_path = r'D:\Video' #视频存放路径r
for page in range(1,pages): #翻页循环
    driver.get('https://search.bilibili.com/all?keyword='+search_name+'&single_column=0&page='+str(page)) #GET请求网址
    time.sleep(2) #给浏览器加载的时间2秒
    titles_links = driver.find_elements_by_xpath('//a[@class="title"]') #获取该页面所有标题跟视频链接
    print(type(titles_links))
    for title in titles_links: #挨个循环所有抓到的标题及链接
        title_name = title.get_attribute('title') #取得标题
        link = title.get_attribute('href') #取得所有链接
        video_link,notuse = link.split('?') #使用split()方法对链接做处理，问号后面的部分我们就不需要了
        print('**************************')
        print('视频名称:',title_name)
        print('视频地址:',video_link)
        print('正在下载视频')
        sys.argv = ['you-get', '-o', video_path, video_link]
        you_get.main()
        print('视频下载完毕')
